﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using SES.CMS.BL;
using SES.CMS.DO;

namespace SES.CMS
{
    public partial class Resetpassword : System.Web.UI.Page
    {
        Sendmail sendmail;
        // Khai báo biến password - password được sinh ngẫu nhiên, dùng để cập nhật lại trường Password
        string password = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
            }
        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            if (new ClientLoginBL().CheckExistsEmail(txtEmail.Text) <= 0)
            {
                if (Session["lang"].ToString() == "VN")
                {
                    lblInfo.Text = "Email không tồn tại!";
                }
                else
                {
                    lblInfo.Text = "Invalid Email, please check your email again!";
                }
            }
            else
            {
                password = RandomPassword.Generate(10, 20);
                // Hàm cập nhật lại password, nếu thành công trả về giá trị true
                int kq = new ClientLoginBL().UpdatePassword(txtEmail.Text, Ultility.EncryptMd5(password));
                // Hàm gửi mail, nếu thành công trả về giá trị 1
                int kqSendMail = SendMail();
                if (kq >= 0 && kqSendMail == 1)
                {
                    // Gửi Email về cho tài khoản đó!
                    if (Session["lang"].ToString() == "VN")
                    {
                        lblInfo.Text = "Reset mật khẩu thành công!";
                    }
                    else
                    {
                        lblInfo.Text = "Reset password successful!";
                    }
                }
                else
                {
                    if (Session["lang"].ToString() == "VN")
                    {
                        lblInfo.Text = "Reset mật khẩu thất bại!";
                    }
                    else
                    {
                        lblInfo.Text = "Reset password fail!";
                    }
                }
            }
        }
        protected string NoiDungMail()
        {
            string NoiDung = "";
            NoiDung = "Chào bạn! Đây là Email tự động gửi đến từ Công ty Trang trí ngoại thất<br><br>";
            NoiDung += "Mật khẩu mới của bạn là: <b>" + password + "</b>";
            NoiDung += "<br>Sau khi đăng nhập bạn nên đổi lại mật khẩu để tiện cho việc đăng nhập lần tiếp theo";
            NoiDung += "<br><br><hr/>Vui lòng không trả lời Mail này!";
            return NoiDung;
        }
        protected int SendMail()
        {
            sendmail = new Sendmail();
            sendmail.SmtpMailFrom = "trangtrinoingoaithatcustomer@gmail.com";
            sendmail.SmtpPassword = "noingoaithat";
            sendmail.SmtpPort = 587;
            sendmail.SmtpServer = "smtp.gmail.com";
            sendmail.SmtpUser = "trangtrinoingoaithatcustomer@gmail.com";
            return sendmail.SendMail(txtEmail.Text, "Thông tin về mật khẩu mới", NoiDungMail(), true);
        }
    }
}
